package com.imau.mapper;

import com.imau.bean.User;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface UserMapper {

    //定义方法
    /* 和对应mapper.xml 中的sql代码端id名一致的*/
    User selectUser(Map<String,Object> map );

    /**
     * 添加用户
     * @param user
     * @return
     */
    int insertUser(User user);

    /**
     * 删除用户
     * @param id
     * @return
     */
    int deleteById(Integer id);

    /**
     * 修改用户
     * @param user
     * @return
     */
    int updateUser(User user);

    /**
     * 查询用户
     * @param id
     * @return
     */
    User selectById(Integer id);

    /**
     * 查询所有 Map Set List
     * @return
     */
    List<User> selectAll();

    /**
     * 条件查询
     * @param user
     * @return
     */
    List<User> selectByParm(User user);

    int getTotal();

    @MapKey("id")
    Map<String,Object> selectUserToMap(@Param("id") Integer id);
    @MapKey("id")
    Map<String, Object> getAllUserToMap();

    List<User> getByUserName(String userName);

    int deleteBacth(@Param("ids") String ids);

    int deleteBacth2(@Param("ids") Integer ids[]);
}
